package pl.surecase.eu;

import de.greenrobot.daogenerator.DaoGenerator;
import de.greenrobot.daogenerator.Entity;
import de.greenrobot.daogenerator.Schema;

public class MyDaoGenerator {
    // 数据库升级
    private static int dbVersion = 2;
    private static String modelPackage = "com.zhudi.bean";
    private String javaPackage = "com.zhudi.dao";


    public static void main(String args[]) throws Exception {
        // DaoMaster.java、DaoSession.java、BeanDao.java会放到/java-gen/com/xxx/dao中
        // 1: 数据库版本号
        // com.xxx.bean:自动生成的Bean对象会放到/java-gen/com/xxx/bean中
        Schema schema = new Schema(dbVersion, modelPackage);
        schema.setDefaultJavaPackageDao("com.zhudi.dao");  // 上面这两个文件夹路径都可以自定义，也可以不设置
        initSchoolBean(schema); // 初始化Bean了
        initStudent(schema);

        Entity Grade = schema.addEntity("Grade");
        Grade.implementsSerializable();
        Grade.addIdProperty();
        Grade.addStringProperty("gradeName");

        Entity traffic = schema.addEntity("DateTraffic");
        traffic.setTableName("traffic"); // 可以对表重命名
        traffic.implementsSerializable();// 实现序列化接口
        traffic.addIdProperty().primaryKey().autoincrement(); // 定义ID主键
        traffic.addLongProperty("date");//时间
        traffic.addLongProperty("traffic"); //流量
        traffic.addIntProperty("uid");  //项目
        traffic.addIntProperty("type"); //类型 0表示gps  1表示wifi
        new DaoGenerator().generateAll(schema, "/Users/zhudi/git/develop_demo_as/app/src/main/java-gen");// 自动创建
    }

     private static void initStudent(Schema schema){
         Entity Student = schema.addEntity("Student");
         Student.implementsSerializable();// 实现序列化接口
         Student.addIdProperty().primaryKey().autoincrement(); // 定义ID主键
         //如果不想用上面的定义ID主键，还可以自己这样定义。
         //OrderHeader.addLongProperty("orderId").primaryKey().autoincrement();
         Student.addStringProperty("studentName");// 增加其他字段
         // 增加一个字段，数据库升级
         Student.addDoubleProperty("results");
     }

    private static void initUserBean(Schema schema) {
        Entity userBean = schema.addEntity("UserBean");// 表名
        userBean.setTableName("user"); // 可以对表重命名
        userBean.addStringProperty("id").primaryKey().index();// 主键，索引
        userBean.addStringProperty("phone");
        userBean.addStringProperty("profile_picture");
        userBean.addStringProperty("client_id");
        userBean.addStringProperty("name");
        userBean.addStringProperty("location");
        userBean.addStringProperty("gender");
    }


    private static void initSchoolBean(Schema schema) {
        Entity userBean = schema.addEntity("UserBean");// 表名
        userBean.setTableName("user"); // 可以对表重命名
        userBean.addStringProperty("id").primaryKey().index();// 主键，索引
        userBean.addStringProperty("phone");
        userBean.addStringProperty("profile_picture");
        userBean.addStringProperty("client_id");
        userBean.addStringProperty("name");
        userBean.addStringProperty("location");
        userBean.addStringProperty("gender");
        userBean.addStringProperty("age");
    }
}
